15 research outputs found

    Eco: A Hardware-Software Co-Design for In Situ Power Measurement on Low-end IoT Systems

    Full text link
    Energy-constrained sensor nodes can adaptively optimize their energy consumption if a continuous measurement exists. This is of particular importance in scenarios of high dynamics such as energy harvesting or adaptive task scheduling. However, self-measuring of power consumption at reasonable cost and complexity is unavailable as a generic system service. In this paper, we present Eco, a hardware-software co-design enabling generic energy management on IoT nodes. Eco is tailored to devices with limited resources and thus targets most of the upcoming IoT scenarios. The proposed measurement module combines commodity components with a common system interfaces to achieve easy, flexible integration with various hardware platforms and the RIOT IoT operating system. We thoroughly evaluate and compare accuracy and overhead. Our findings indicate that our commodity design competes well with highly optimized solutions, while being significantly more versatile. We employ Eco for energy management on RIOT and validate its readiness for deployment in a five-week field trial integrated with energy harvesting

    FlexClock: Generic Clock Reconfiguration for Low-end IoT Devices

    Full text link
    Clock configuration within constrained general-purpose microcontrollers takes a key role in tuning performance, power consumption, and timing accuracy of applications in the Internet of Things (IoT). Subsystems governing the underlying clock tree must nonetheless cope with a huge parameter space, complex dependencies, and dynamic constraints. Manufacturers expose the underlying functions in very diverse ways, which leads to specialized implementations of low portability. In this paper, we propose FlexClock, an approach for generic online clock reconfiguration on constrained IoT devices. We argue that (costly) generic clock configuration of general purpose computers and powerful mobile devices need to slim down to the lower end of the device spectrum. In search of a generalized solution, we identify recurring patterns and building blocks, which we use to decompose clock trees into independent, reusable components. With this segmentation we derive an abstract representation of vendor-specific clock trees, which then can be dynamically reconfigured at runtime. We evaluate our implementation on common hardware. Our measurements demonstrate how FlexClock significantly improves peak power consumption and energy efficiency by enabling dynamic voltage and frequency scaling (DVFS) in a platform-agnostic way

    Interprozesskommunikation zwischen Android- und Mikrocontrollersystemen

    No full text
    Diese Thesis zeigt die Entwicklung eines Frameworks zur Interprozesskommunikation zwischen Android- und Mikrocontrollersystemen. Es werden die Grundlagen der verwendeten Technologien dargelegt und Anforderungen an das System de niert. Daraufhin werden zur Verfügung stehende Werkzeuge und ähnliche Projekte analysiert um ein Konzept zu erarbeiten. Mit diesem als Basis wird im Anschluss die Implementierung durchgeführt, woraufhin das System direkt in Beispielanwendungen angewandt wird. Den Abschluss der Arbeit bildet die Evaluierung um die Einsatz- und Leistungsfähigkeit des Frameworks zu prüfen und die Diskussion, in welcher Ergebnisse und mögliche Verbesserungen dargelegt werden. Die für diese Thesis gesetzten Ziele wurden erreicht und somit wurde ein funktionierendes System realisiert.This thesis presents the development of a framework for inter-process communication between Android and microcontroller systems. It describes the basics of the used technologies and the requirements for the system are de ned. After that available tools and similar projects are analyzed to create a concept. With that as a basis, the following implementation is executed, after which the system is applied directly on sample applications. The work is nished with the evaluation of the use and performance of the framework and the discussion where the results and possible improvements are noted. The objectives of this thesis were achieved and therefore a working system was implemented

    A Platform for Energy Self-sufficient Sensor Nodes in Field Tests

    No full text
    In dieser Arbeit wird die Entwicklung einer modularen Plattform zur Durchführung von Feldtests und stationären Versuchen mit energieautarken, kabellosen Sensorknoten gezeigt. Gestützt durch Erkenntnisse aus verwandten Arbeiten werden ausgehend von einem abstrakten Konzept alle Schritte bis zum praktischen Einsatz der Plattform behandelt. Zu diesem Zweck werden flexible Hardware-Komponenten angefertigt, die ein Photovoltaik-basiertes Energy-Harvesting System bilden. Für die verwendeten Komponenten werden Treiber und eine Firmware auf Basis des Betriebssystems RIOT implementiert. Im Rahmen eines mehrwöchigen Feldtests im Freien wird demonstriert, wie mit mehreren dieser Knoten die Messung, lokale Speicherung und Funkübertragung von Umweltdaten und Metriken zur eigenen Energiebilanz umgesetzt wird. Anhand der gewonnenen Informationen wird illustriert wie das System zur detaillierten, praxisrelevanten Analyse energiebezogener Systemparameter eingesetzt werden kann, um bei der Entwicklung generischer Energieverwaltungsmechanismen zu unterstützen.In this paper the development of a modular platform for field tests and stationary experiments with energy self-sufficient, wireless sensor nodes is shown. Based on findings from related work, all steps from an abstract concept up to the practical use of the platform are covered. For this purpose, flexible hardware components are built that form a photovoltaic-based energy harvesting system. Drivers and firmware based on the RIOT operating system are implemented for the components used. An outdoor field test is performed over several weeks to demonstrate how multiple of these nodes can be used to measure, locally store and transmit environmentalv and measurement data about their own energy balance. The information obtained is used to illustrate howthe system can be used for detailed, practically relevant analysis of energy-related system parameters to support the development of generic energy management mechanisms

    Eine Testplattform für Energy Harvesting mit RIOT

    No full text
    Der Begriff "`Internet of Things"' (IoT) beschreibt ein globales Netzwerk in dem Gegenstände des täglichen Lebens von Sensoren und Aktoren repräsentiert werden, die direkt miteinander kommunizieren. Um neue Geräte im IoT zu etablieren, ohne regelmä�ig proprietäre Insellösungen zu generieren, bietet sich die Verwendung offener Standards und einer robusten Software-Basis an, die unterschiedlichste Hardware auf eine entwicklerfreundliche Ebene abstrahiert. RIOT ist ein Betriebssystem für das IoT, das diesem Grundsatz folgt und damit eine effiziente Entwicklung von plattformunabhängigen IoT-Anwendungen ermöglicht. Ein Themengebiet, das bisher nur eingeschränkt von RIOT unterstützt wird, besteht in intelligenten Mechanismen zur Energieverwaltung. Insbesondere für energieautarke Systeme, die ihre Energie aus der Umgebung schöpfen, stellen generische Lösungen zur dynamischen Energieverwaltung eine wichtige Funktion des Betriebssystems dar. Mit dieser Arbeit wird ein erster Beitrag geleistet um weitere Entwicklungen und Tests der Energieverwaltung in RIOT zu vereinfachen. Dazu wird eine modulare Testplattform für Energy Harvesting (EH) Systeme aufgebaut, die stationäre Versuche und Feldtests ermöglicht und dabei die Aufzeichnung von Messdaten zur Energiebilanz des zu untersuchenden Systems erlaubt

    An Energy-aware IoT Node for Sustainable Urban Sensing

    No full text
    This demo presents an energy-aware system designed for long-term deployments in urban sensing. It consists of a hardware-software co-design that allows for measuring and harvesting energy on class-1 IoT nodes. We focus on the self-management of energy and its integration with the RIOT operating system. The measurement module is composed of commodity components and designed for easy, flexible integration with various hardware platforms

    uTimer : a Uniform Low-level Timer API for RIOT OS

    No full text

    Sense Your Power : The ECO Approach to Energy Awareness for IoT Devices

    No full text
    Energy-constrained sensor nodes can adaptively optimize their energy consumption if a continuous measurement is provided. This is of particular importance in scenarios of high dynamics such as with energy harvesting. Still, self-measuring of power consumption at reasonable cost and complexity is unavailable as a generic system service. In this article, we present ECO, a hardware-software co-design that adds autonomous energy management capabilities to a large class of low-end IoT devices. ECO consists of a highly portable hardware shield built from inexpensive commodity components and software integrated into the RIOT operating system. RIOT supports more than 200 popular microcontrollers. Leveraging this flexibility, we assembled a variety of sensor nodes to evaluate key performance properties for different device classes. An overview and comparison with related work shows how ECO fills the gap of in situ power attribution transparently for consumers and how it improves over existing solutions. We also report about two different real-world field trials, which validate our solution for long-term production use

    FlexClock : Generic Clock Reconfiguration for Low-end IoT Devices

    No full text
    Clock configuration within constrained general-purpose microcontrollers takes a key role in tuning performance, power consumption, and timing accuracy of applications in the Internet of Things (IoT). Subsystems governing the underlying clock tree must nonetheless cope with a huge parameter space, complex dependencies, and dynamic constraints. Manufacturers expose the underlying functions in very diverse ways, which leads to specialized implementations of low portability. In this paper, we propose FlexClock, an approach for generic online clock reconfiguration on constrained IoT devices. We argue that (costly) generic clock configuration of general purpose computers and powerful mobile devices need to slim down to the lower end of the device spectrum. In search of a generalized solution, we identify recurring patterns and building blocks, which we use to decompose clock trees into independent, reusable components. With this segmentation we derive an abstract representation of vendor-specific clock trees, which then can be dynamically reconfigured at runtime. We evaluate our implementation on common hardware. Our measurements demonstrate how FlexClock significantly improves peak power consumption and energy efficiency by enabling dynamic voltage and frequency scaling (DVFS) in a platform-agnostic way
    corecore